import request from '@/config/axios'
import type { Dayjs } from 'dayjs'

/** 回收订单明细信息 */
export interface OrderItem {
  userId?: number // 用户编号
  orderId?: number // 订单编号
  cartId: number // 购物车项编号
  spuId?: number // 商品 SPU 编号
  spuName?: string // 商品 SPU 名称
  properties: string // 商品属性数组，JSON 格式
  picUrl: string // 商品图片
  count?: number // 购买数量
  commentStatus?: boolean // 是否评价
  price?: number // 商品原价（单），单位：分
  discountPrice?: number // 商品级优惠（总），单位：分
  deliveryPrice?: number // 运费金额，单位：分
  adjustPrice?: number // 订单调价（总），单位：分
  payPrice?: number // 子订单实付金额（总），不算主订单分摊金额，单位：分
  couponPrice?: number // 优惠劵减免金额，单位：分
  pointPrice?: number // 积分抵扣的金额
  usePoint?: number // 使用的积分
  givePoint?: number // 赠送的积分
}

// 回收订单明细 API
export const OrderItemApi = {
  // 查询回收订单明细分页
  getOrderItemPage: async (params: any) => {
    return await request.get({ url: `/recycle/order-item/page`, params })
  },

  // 查询回收订单明细详情
  getOrderItem: async (id: number) => {
    return await request.get({ url: `/recycle/order-item/get?id=` + id })
  },

  // 新增回收订单明细
  createOrderItem: async (data: OrderItem) => {
    return await request.post({ url: `/recycle/order-item/create`, data })
  },

  // 修改回收订单明细
  updateOrderItem: async (data: OrderItem) => {
    return await request.put({ url: `/recycle/order-item/update`, data })
  },

  // 删除回收订单明细
  deleteOrderItem: async (id: number) => {
    return await request.delete({ url: `/recycle/order-item/delete?id=` + id })
  },

  /** 批量删除回收订单明细 */
  deleteOrderItemList: async (ids: number[]) => {
    return await request.delete({ url: `/recycle/order-item/delete-list?ids=${ids.join(',')}` })
  },

  // 导出回收订单明细 Excel
  exportOrderItem: async (params) => {
    return await request.download({ url: `/recycle/order-item/export-excel`, params })
  }
}
